package com.doraemon.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/***
 * 配置类，用于封装微信小程序和微信支付相关的配置信息
 */
@Component
@ConfigurationProperties(prefix = "doraemon.wechat") // 映射配置文件中指定前缀的属性到当前类
@Data
public class WeChatProperties {

    /**
     * 微信小程序的 App ID
     * 用于标识小程序的唯一身份。
     */
    private String appid;

    /**
     * 微信小程序的秘钥（Secret）
     * 用于与微信服务器进行身份认证。
     */
    private String secret;

    /**
     * 微信支付的商户号（Mch ID）
     * 表示微信支付分配的唯一商户编号。
     */
    private String mchid;

    /**
     * 微信支付的商户 API 证书序列号
     * 用于标识商户的 API 证书。
     */
    private String mchSerialNo;

    /**
     * 商户私钥文件路径
     * 保存商户私钥的文件路径，用于签名微信支付请求。
     */
    private String privateKeyFilePath;

    /**
     * 微信支付 API V3 密钥
     * 用于加密和解密敏感数据，比如平台证书。
     */
    private String apiV3Key;

    /**
     * 微信支付平台证书路径
     * 平台证书文件路径，用于验证微信支付的响应。
     */
    private String weChatPayCertFilePath;

    /**
     * 支付成功的回调地址
     * 微信支付完成后，微信服务器会通知该 URL。
     */
    private String notifyUrl;

    /**
     * 退款成功的回调地址
     * 当退款成功后，微信服务器会通知该 URL。
     */
    private String refundNotifyUrl;

}
